package com.arpa.ntocc.common.domain.entity;

import com.arpa.ntocc.common.domain.enums.PartyStatusEnum;
import com.arpa.ntocc.common.domain.enums.PartyTypeEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户
 * </p>
 *
 * @author liuyj
 * @since 2019-11-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_party")
@ApiModel(value="Party对象", description="用户")
public class Party extends BasicEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "code")
    @TableField("code")
    private String code;

    @ApiModelProperty(value = "用户类型")
    @TableField("party_type")
    private PartyTypeEnum partyType;

    @ApiModelProperty(value = "用户名")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "phone")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "状态 0正常，1禁用")
    @TableField("status")
    private PartyStatusEnum status;

    @ApiModelProperty(value = "组织编码")
    @TableField("branch_code")
    private String branchCode;

    @ApiModelProperty(value = "职位")
    @TableField("position")
    private String position;

    @ApiModelProperty(value = "职位名称")
    @TableField("position_name")
    private String positionName;

    @ApiModelProperty(value = "工号")
    @TableField("employee_number")
    private String employeeNumber;

    @ApiModelProperty(value = "用工类型:regular正式工/temp临时工/out外包工")
    @TableField("employment_type")
    private String employmentType;

    @ApiModelProperty(value = "劳务外包方编码")
    @TableField("outsourcer")
    private String outsourcer;

    @ApiModelProperty(value = "劳务外包方名称")
    @TableField("outsourcer_name")
    private String outsourcerName;

    @ApiModelProperty(value = "入职日期")
    @TableField(value = "enrollment_date")
    private String enrollmentDate;


    @ApiModelProperty(value = "授权仓库")
    @TableField(value = "authorization_warehouse")
    private String authorizationWarehouse;

    @ApiModelProperty(value = "授权货主")
    @TableField(value = "authorization_shipment")
    private String authorizationShipment;

    @ApiModelProperty(value = "授权仓库名称",hidden = true)
    @TableField(value = "warehouse_name")
    private String warehouseName;

    @ApiModelProperty(value = "授权货主",hidden = true)
    @TableField(value = "shipment_name")
    private String shipmentName;

}
